From 1dacb80336bf2cc21b8e21e732340650f8e0bb9a Mon Sep 17 00:00:00 2001 From: tsteven4 Date: Sat, 30 Mar 2013 14:07:54 +0000 Subject: [PATCH] more QString conversion. --- gpsbabel/defs.h | 3 +-- gpsbabel/garmin_txt.cc | 8 ++++---- gpsbabel/gdb.cc | 30 +++++++++++++++++++++--------- gpsbabel/pocketfms_bc.cc | 2 +- gpsbabel/route.cc | 14 ++++---------- 5 files changed, 31 insertions(+), 26 deletions(-) diff --git a/gpsbabel/defs.h b/gpsbabel/defs.h index fb635a98f..9c672699b 100644 --- a/gpsbabel/defs.h +++ b/gpsbabel/defs.h @@ -573,7 +573,6 @@ class route_head { route_head() : rte_name(NULL), rte_desc(NULL), - rte_url(NULL), rte_num(0), rte_waypt_ct(0), fs(NULL), @@ -584,7 +583,7 @@ class route_head { queue waypoint_list; /* List of child waypoints */ char* rte_name; char* rte_desc; - char* rte_url; + QString rte_url; int rte_num; int rte_waypt_ct; /* # waypoints in waypoint list */ format_specific_data* fs; diff --git a/gpsbabel/garmin_txt.cc b/gpsbabel/garmin_txt.cc index 8c1415351..78ad18bac 100644 --- a/gpsbabel/garmin_txt.cc +++ b/gpsbabel/garmin_txt.cc @@ -645,7 +645,7 @@ route_disp_hdr_cb(const route_head* rte) print_distance(cur_info->length, 0, 1, 0); print_course(cur_info->first_wpt, cur_info->last_wpt); gbfprintf(fout, "\t%d waypoints\t", cur_info->count); - print_string("%s\r\n", rte->rte_url ? rte->rte_url : ""); + print_string("%s\r\n", rte->rte_url); gbfprintf(fout, "\r\nHeader\t%s\r\n\r\n", headers[rtept_header]); } @@ -699,7 +699,7 @@ track_disp_hdr_cb(const route_head* track) print_date_and_time(cur_info->time, 1); print_distance(cur_info->length, 0, 1, 0); print_speed(&cur_info->length, &cur_info->time); - print_string("%s", (track->rte_url != NULL) ? track->rte_url : ""); + print_string("%s", track->rte_url); gbfprintf(fout, "\r\n\r\nHeader\t%s\r\n\r\n", headers[trkpt_header]); } @@ -1224,7 +1224,7 @@ parse_route_header(void) rte->rte_name = DUPSTR(str); break; case 5: - rte->rte_url = DUPSTR(str); + rte->rte_url = str; break; } } @@ -1248,7 +1248,7 @@ parse_track_header(void) trk->rte_name = DUPSTR(str); break; case 6: - trk->rte_url = DUPSTR(str); + trk->rte_url = str; break; } } diff --git a/gpsbabel/gdb.cc b/gpsbabel/gdb.cc index 5efde6f96..b072101f3 100644 --- a/gpsbabel/gdb.cc +++ b/gpsbabel/gdb.cc @@ -201,6 +201,7 @@ disp_summary(const gbfile* f) #define FREAD_i16 gbfgetint16(fin) #define FREAD_STR(a) gdb_fread_str(a,sizeof(a),fin) #define FREAD_CSTR gdb_fread_cstr(fin) +#define FREAD_CSTR_AS_QSTR gdb_fread_cstr_as_qstr(fin) #define FREAD_DBL gbfgetdbl(fin) #define FREAD_LATLON GPS_Math_Semi_To_Deg(gbfgetint32(fin)) @@ -249,6 +250,15 @@ gdb_fread_cstr(gbfile* fin) return result; } +static QString +gdb_fread_cstr_as_qstr(gbfile* fin) +{ + char* result = gdb_fread_cstr(fin); + QString qresult = result; + xfree(result); + return qresult; +} + static int gdb_fread_str(char* buf, int size, gbfile* fin) { @@ -267,7 +277,7 @@ gdb_fread_str(char* buf, int size, gbfile* fin) return res; } -static char* +static QString gdb_fread_strlist(void) { char* res = NULL; @@ -287,7 +297,9 @@ gdb_fread_strlist(void) count--; } - return res; + QString qres = res; + xfree(res); + return qres; } static waypoint* @@ -652,9 +664,9 @@ read_waypoint(gt_waypt_classes_e* waypt_class_out) DBG(GDB_DBG_WPTe, res->description) printf(MYNAME "-wpt \"%s\" (%d): description = %s\n", sn, wpt_class, nice(res->description)); - DBG(GDB_DBG_WPTe, res->url) + DBG(GDB_DBG_WPTe, !res->url.isNull()) printf(MYNAME "-wpt \"%s\" (%d): url = %s\n", - sn, wpt_class, nice(res->url)); + sn, wpt_class, nice(qPrintable(res->url))); // FIXME: qPrintable and nice probably are fighting. #endif i = FREAD_i16; if (i != 0) { @@ -703,7 +715,7 @@ read_waypoint(gt_waypt_classes_e* waypt_class_out) #if GDB_DEBUG DBG(GDB_DBG_WPTe, icon != GDB_DEF_ICON) printf(MYNAME "-wpt \"%s\" (%d): icon = \"%s\" (MapSource symbol %d)\n", - sn, wpt_class, nice(res->icon_descr), icon); + sn, wpt_class, nice(qPrintable(res->icon_descr)), icon); // FIXME: qPrintable and nice probably are fighting. #endif if ((str = GMSD_GET(cc, NULL))) { if (! GMSD_HAS(country)) { @@ -918,7 +930,7 @@ read_route(void) /* VERSION DEPENDENT CODE */ if (gdb_ver <= GDB_VER_2) { - rte->rte_url = FREAD_CSTR; + rte->rte_url = FREAD_CSTR_AS_QSTR; } else { rte->rte_url = gdb_fread_strlist(); @@ -993,12 +1005,12 @@ read_track(void) if (gdb_ver >= GDB_VER_3) { res->rte_url = gdb_fread_strlist(); } else { /* if (gdb_ver <= GDB_VER_2) */ - res->rte_url = FREAD_CSTR; + res->rte_url = FREAD_CSTR_AS_QSTR; } #if GDB_DEBUG - DBG(GDB_DBG_TRK, res->rte_url) + DBG(GDB_DBG_TRK, !res->rte_url.isNull()) printf(MYNAME "-trk \"%s\": url = %s\n", - res->rte_name, res->rte_url); + res->rte_name, qPrintable(res->rte_url)); #endif return res; } diff --git a/gpsbabel/pocketfms_bc.cc b/gpsbabel/pocketfms_bc.cc index 4b9e7cc5d..76336ce78 100644 --- a/gpsbabel/pocketfms_bc.cc +++ b/gpsbabel/pocketfms_bc.cc @@ -85,7 +85,7 @@ read_tracks(void) trk_head->rte_num = 1; trk_head->rte_name = xstrdup("PocketFMS"); trk_head->rte_desc = xstrdup("Breadcrumb"); - trk_head->rte_url = xstrdup("www.pocketfms.com"); + trk_head->rte_url = "www.pocketfms.com"; track_add_head(trk_head); while (1 == gbfread(&bc, sizeof(bc), 1, file_in)) { diff --git a/gpsbabel/route.cc b/gpsbabel/route.cc index 0085db367..8761413a5 100644 --- a/gpsbabel/route.cc +++ b/gpsbabel/route.cc @@ -67,13 +67,9 @@ track_count(void) route_head * route_head_alloc(void) { - route_head *rte_head; - rte_head = (route_head *) xcalloc(sizeof(*rte_head), 1); + route_head* rte_head = new route_head; QUEUE_INIT(&rte_head->Q); QUEUE_INIT(&rte_head->waypoint_list); - rte_head->line_color.bbggrr = -1; - rte_head->line_color.opacity = 255; - rte_head->line_width = -1; rte_head->session = curr_session(); return rte_head; } @@ -87,14 +83,12 @@ any_route_free(route_head *rte) if (rte->rte_desc) { xfree(rte->rte_desc); } - if (rte->rte_url) { - xfree(rte->rte_url); - } waypt_flush(&rte->waypoint_list); if (rte->fs) { fs_chain_destroy(rte->fs); } - xfree(rte); + delete rte; + rte = NULL; } @@ -413,7 +407,7 @@ route_copy(int *dst_count, int *dst_wpt_count, queue **dst, queue *src) rte_new = route_head_alloc(); rte_new->rte_name = xstrdup(rte_old->rte_name); rte_new->rte_desc = xstrdup(rte_old->rte_desc); - rte_new->rte_url = xstrdup(rte_old->rte_url); + rte_new->rte_url = rte_old->rte_url; rte_new->fs = fs_chain_copy(rte_old->fs); rte_new->rte_num = rte_old->rte_num; any_route_add_head(rte_new, *dst); -- 2.30.2